package com.itheima.day07.Iterator.test2;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.function.Predicate;

public class Test {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("bbb");
        list.add("b");
        list.add("aa");
        list.add("b");
        list.add("c");
        list.add("c");
        list.add("a");
        list.add("cc");
        System.out.println(list);

        for (int i = list.size() - 1; i >= 0; i--) {
            String s = list.get(i);
            if("a".equals(s)){
                list.remove(i);
            }
        }
        System.out.println(list);

        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            String s = it.next();
            if("c".equals(s)){
                it.remove();
            }
        }
        System.out.println(list);


        list.removeIf(new Predicate<String>(){
            @Override
            public boolean test(String s) {
                if("b".equals(s)){
                    return true;
                }
                return false;
            }
        });
        System.out.println(list);
    }
}
